home *** CD-ROM | disk | FTP | other *** search
- /*
- File: TArrayExample.h
-
- Contains: Declarations for the TData and TDataMatchObject classes used
- in TArrayExample.cp.
-
- Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
-
- */
-
- #ifndef __TARRAYEXAMPLE__
- #define __TARRAYEXAMPLE__
-
- ///————————————————————————————————————————————————————————————————————————————————————
- /// TData
- ///
- /// A simple class that contains an unsigned long.
- ///————————————————————————————————————————————————————————————————————————————————————
-
- class TData : public TSimpleDynamic {
- public:
- TData();
- TData(unsigned long data);
- virtual ~TData();
-
- unsigned long GetData() const { return fData; };
-
- private:
- unsigned long fData; // our private data
- };
-
- ///————————————————————————————————————————————————————————————————————————————————————
- /// TData IMLEMENTATION
- ///————————————————————————————————————————————————————————————————————————————————————
-
- inline TData::TData()
- {
- fData = 0L;
- }
-
- inline TData::TData( unsigned long data )
- {
- fData = data;
- }
-
- TData::~TData()
- {
- }
-
- ///————————————————————————————————————————————————————————————————————————————————————
- /// TDataMatchObject
- ///
- /// A match object that will compare the value stored in a TData object to the value
- /// that the TDataMatchObject is initialized with.
- ///————————————————————————————————————————————————————————————————————————————————————
-
- class TDataMatchObject : public TMatchObject {
- public:
- TDataMatchObject();
- TDataMatchObject(unsigned long data);
- virtual ~TDataMatchObject();
-
- virtual short Compare(const void*) const;
-
- private:
- unsigned long fData; // our private data
- };
-
- ///————————————————————————————————————————————————————————————————————————————————————
- /// TDataMatchObject IMLEMENTATION
- ///————————————————————————————————————————————————————————————————————————————————————
-
- inline TDataMatchObject::TDataMatchObject()
- {
- fData = 0L;
- }
-
- inline TDataMatchObject::TDataMatchObject( unsigned long data )
- {
- fData = data;
- }
-
- TDataMatchObject::~TDataMatchObject()
- {
- }
-
- short TDataMatchObject::Compare(const void* object) const
- {
- //
- // Unfortunately we can't do couts here since Compare is always called
- // with interrupts disabled, so do Trace's instead.
- //
-
- unsigned long data = ((const TData*)object)->GetData();
-
- Trace("TDataMatchObject::Compare called. data = %d", data);
- if ( fData == data )
- Trace(" A match!");
- Trace("\n");
-
- if ( fData == data )
- return 0; // 0 means they are equal
- else
- return fData > data ? 1 : -1;
- }
-
- #endif;